/*
 * ICollection.hh
 *
 *  Created on: 23/05/2010
 *      Author: prodrig
 */
#include "ICollectible.h"
#include "IIterator.h"

#ifndef ICOLLECTION_HH_
#define ICOLLECTION_HH_

class ICollection: public ICollectible {

public:
	virtual void add(ICollectible *) = 0;
	virtual void remove(ICollectible *) = 0;
	virtual bool member(ICollectible *) = 0;
	virtual bool isEmpty() = 0;
	virtual IIterator* getIterator() = 0;
	virtual int size() = 0;
	virtual ~ICollection();
};

#endif /* ICOLLECTION_HH_ */
